#ifndef PACKETSTRUCT_BG_H
#define PACKETSTRUCT_BG_H
#include "packetStruct.h"
#include "Protocol_BG.h"

#define MAX_LEN     (255)
#define MAX_BUFF    (2048)


struct MSG_BG_CHANNEL_REGISTER_SYN : public MSG_SERVER_BASE
{
      MSG_BG_CHANNEL_REGISTER_SYN()
	  {
		  m_byCategory = BG_CHANNEL;	
		  m_byProtocol = BG_CHANNEL_REGISTER_SYN;	
	  }
	  DWORD   dwChannelID;
};

struct MSG_BG_CHANNEL_REGISTER_ACK : public MSG_SERVER_BASE
{
	MSG_BG_CHANNEL_REGISTER_ACK()
	{
		m_byCategory = BG_CHANNEL;	
		m_byProtocol = BG_CHANNEL_REGISTER_ACK;	
	}
};

struct MSG_BG_CHANNEL_REGISTER_NAK : public MSG_SERVER_BASE
{
	MSG_BG_CHANNEL_REGISTER_NAK()
	{
		m_byCategory = BG_CHANNEL;	
		m_byProtocol = BG_CHANNEL_REGISTER_NAK;	
	}
	BYTE  dwErrorCode;
	TCHAR strError[MAX_LEN];
};

struct MSG_BG_USER_NEW_USER_SYN : public MSG_SERVER_BASE
{
	MSG_BG_USER_NEW_USER_SYN()
	{
		m_byCategory = BG_USER;	
		m_byProtocol = BG_USER_NEW_USER_SYN;	
	}
	DWORD   dwChannelID;
	char    strName[16];
};

struct MSG_BG_CHARINFO_CHAR_ITEM_SYN : public MSG_SERVER_BASE
{   
	MSG_BG_CHARINFO_CHAR_ITEM_SYN()
	{   
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_CHAR_ITEM_SYN;		
	}
	DWORD dwCharGUID;
	BYTE  bySelectedCharIndex;
};


struct MSG_BG_CHARINFO_CHAR_ITEM_CMD : public MSG_SERVER_BASE
{     
	MSG_BG_CHARINFO_CHAR_ITEM_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_CHAR_ITEM_CMD;		
    
	}
    BYTE buff[MAX_BUFF];
};

struct MSG_BG_CHARINFO_CHAR_ITEM_NAK : public MSG_SERVER_BASE
{
	BYTE  dwErrorCode;
	TCHAR strError[MAX_LEN];
};

struct MSG_BG_CHARINFO_SKILL_CMD : public MSG_SERVER_BASE
{
    MSG_BG_CHARINFO_SKILL_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_SKILL_CMD;	
	}
	BYTE buff[MAX_BUFF];
};

struct MSG_BG_CHARINFO_PASSIVE_SKILL_CMD : public MSG_SERVER_BASE
{  
	MSG_BG_CHARINFO_PASSIVE_SKILL_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_PASSIVE_SKILL_CMD;	
	}
    BYTE buff[MAX_BUFF];
};

struct MSG_BG_CHARINFO_QUICK_CMD : public MSG_SERVER_BASE
{
    MSG_BG_CHARINFO_QUICK_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_QUICK_CMD;	
	}
	BYTE buff[MAX_BUFF];

};

struct MSG_BG_CHARINFO_STYLE_CMD : public MSG_SERVER_BASE
{
	MSG_BG_CHARINFO_STYLE_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_STYLE_CMD;	
	}
	BYTE buff[MAX_BUFF];

};

struct MSG_BG_CHARINFO_QUEST_CMD : public MSG_SERVER_BASE
{
	MSG_BG_CHARINFO_QUEST_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_QUEST_CMD;	
	}
	BYTE buff[MAX_BUFF];

};

struct MSG_BG_CHARINFO_MISSION_CMD : public MSG_SERVER_BASE
{
	MSG_BG_CHARINFO_MISSION_CMD()
	{
		m_byCategory = BG_CHARINFO;	
		m_byProtocol = BG_CHARINFO_MISSION_CMD;	
	}
	BYTE buff[MAX_BUFF];

};

struct MSG_BG_CHATINFO_GET_PLAYER_SYN : public MSG_SERVER_BASE
{
	MSG_BG_CHATINFO_GET_PLAYER_SYN()
	{
		m_byCategory = BG_CHATINFO;	
		m_byProtocol = BG_CHATINFO_GET_PLAYER_SYN;	
	}
	
	eChatMode ChatMode;
};

struct MSG_BG_CHATINFO_GET_PLAYER_ACK : public MSG_SERVER_BASE
{
	MSG_BG_CHATINFO_GET_PLAYER_ACK()
	{
		m_byCategory = BG_CHATINFO;	
		m_byProtocol = BG_CHATINFO_GET_PLAYER_ACK;	
	}
	eChatMode ChatMode;
	BYTE      byCount;
	DWORD     dwCharIDs[64];
};

struct MSG_BG_CHATINFO_GET_PLAYER_NAK : public MSG_SERVER_BASE
{
	MSG_BG_CHATINFO_GET_PLAYER_NAK()
	{
		m_byCategory = BG_CHATINFO;	
		m_byProtocol = BG_CHATINFO_GET_PLAYER_NAK;	
	}
	BYTE  dwErrorCode;
	TCHAR strError[MAX_LEN];
};


struct MSG_BG_GM_STRING_CMD_SYN : public MSG_SERVER_BASE
{   
	MSG_BG_GM_STRING_CMD_SYN()
	{
		m_byCategory = BG_GM;	
		m_byProtocol = BG_GM_STRING_CMD_SYN;	
	}
	enum { MAX_STRING_CMD_LENGTH = 100 };
	CHAR	m_szStringCmd[MAX_STRING_CMD_LENGTH];	
};

#endif


